Reduce 'd' debug key's global impact
authorKeir Fraser <keir.fraser@citrix.com>
Thu, 6 May 2010 16:00:08 +0000 (17:00 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Thu, 6 May 2010 16:00:08 +0000 (17:00 +0100)
commit5b6e351436e6f94797f0a92a8a478f38644fdaf6
tree84b718f87e6f289adf1fb1cc8419e81d22fe00e5
parent08bbf1f316350aafa28c4c47fa3ed40414d6ad36
Reduce 'd' debug key's global impact

On large systems, dumping state may cause time management to get
stalled for so long a period that it wouldn't recover. Therefore alter
the state dumping logic to alternatively block each CPU as it prints
rather than one CPU for a very long time (using the alternative key
handling toggle introduced with an earlier patch).

Further, instead of using on_selected_cpus(), which is unsafe when
the dumping happens from a hardware interrupt, introduce and use a
dedicated IPI sending function (which each architecture can implement
to its liking)

Finally, don't print useless data (e.g. the hypervisor context of the
interrupt that is used for triggering the printing, but isn't part of
the context that's actually interesting).

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
xen/arch/ia64/linux-xen/smp.c
xen/arch/x86/apic.c
xen/common/keyhandler.c
xen/include/asm-ia64/linux-xen/asm/ptrace.h
xen/include/xen/lib.h
xen/include/xen/smp.h